package control;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.faces.model.SelectItem;

import apresentacao.GerenteValidacao;

import model.bean.Aluno;
import model.bean.Indicacao;
import model.bean.Matricula;
import model.bo.MatriculaBO;
import enumerador.Estado;
import enumerador.PerfilFiltro;

public class IndicacaoListagemMB implements Serializable {

	private static final long serialVersionUID = 7367474948667300919L;

	private Matricula matricula = new Matricula();
	private Indicacao indicacao = new Indicacao();
	private Aluno aluno = new Aluno();
    private MatriculaBO matriculaBO = new MatriculaBO();
	private List<Matricula> matriculas = new ArrayList<Matricula>();

	
	public void pesquisar(){
		try {
			matriculas = matriculaBO.listarMatriculasIndicados(matricula);
		} catch (Exception e) {
			e.printStackTrace();
			GerenteValidacao.mensagemErroPesquisar();
		}
		//return "indicacaoListagem";
	}

	public String listar() {
		matricula = new Matricula();
		matricula.setIndicacao(indicacao);
		matricula.setAluno(aluno);
		try {
			matriculas = matriculaBO.listarMatriculasIndicados(matricula);
		} catch (Exception e) {
			e.printStackTrace();
			GerenteValidacao.mensagemErroPesquisar();
		}
		return "indicacaoListagem";
	}
	
	public String consultar() {
		return "indicacaoListagem";
	}

	// Get e Set

	public Matricula getMatricula() {
		return matricula;
	}

	public void setMatricula(Matricula matricula) {
		this.matricula = matricula;
	}

	public MatriculaBO getMatriculaBO() {
		return matriculaBO;
	}

	public void setMatriculaBO(MatriculaBO matriculaBO) {
		this.matriculaBO = matriculaBO;
	}

	public List<Matricula> getMatriculas() {
		return matriculas;
	}
	
	public void setMatriculas(List<Matricula> matriculas) {
		this.matriculas = matriculas;
	}

	
	// List
	public List<SelectItem> getEstados() {
		List<SelectItem> resultado = Estado.getListSelectItem();
		return resultado;
	}
	
	public List<SelectItem> getPerfisFiltro() {
        List<SelectItem> resultado = PerfilFiltro.getListSelectItem();
        return resultado;
    }
}
